home *** CD-ROM | disk | FTP | other *** search
Wrap
// BEGIN FLOCK GPL // // Copyright Flock Inc. 2005-2007 // http://flock.com // // This file may be used under the terms of of the // GNU General Public License Version 2 or later (the "GPL"), // http://www.gnu.org/licenses/gpl.html // // Software distributed under the License is distributed on an "AS IS" basis, // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License // for the specific language governing rights and limitations under the // License. // // END FLOCK GPL // var gArg; var gBookmarksTree; var gExpander; var WSucks; function $(aId) { return document.getElementById(aId); } function Init() { gBookmarksTree = document.getElementById("folder-tree"); gExpander = document.getElementById("expander"); var btfMenuItem = document.getElementById("btfMenuItem"); btfMenuItem.id = BMSVC.getBookmarksToolbarFolder().Value; gArg = window.arguments[0]; $('name').value = gArg.name; WSucks = 150; gMenulist = document.getElementById("select-menu"); // Select the specified folder after the window is made visible setTimeout(initMenulist, 0); } function enable(aEnable) { if (aEnable) { document.documentElement.getButton("accept").removeAttribute("disabled"); document.documentElement.getButton("cancel").removeAttribute("disabled"); $("name").removeAttribute("disabled"); $("feedurl").removeAttribute("disabled"); $("select-menu").removeAttribute("disabled"); $("expander").removeAttribute("disabled"); $("folder-tree").removeAttribute("disabled"); $("newFolder").removeAttribute("disabled"); } else { document.documentElement.getButton("accept").setAttribute("disabled", true); document.documentElement.getButton("cancel").setAttribute("disabled", true); $("name").setAttribute("disabled", true); $("feedurl").setAttribute("disabled", true); $("select-menu").setAttribute("disabled", true); $("expander").setAttribute("disabled", true); $("folder-tree").setAttribute("disabled", true); $("newFolder").setAttribute("disabled", true); } } function Commit() { var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); var feedService = Components.classes["@flock.com/feed-manager;1"].getService(Components.interfaces.flockIFeedManager); var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService); var name = $('name').value; var url = $('feedurl').value; var uri = null try { uri = ioService.newURI(url, null, null); } catch (e) { // Error: the string doesn't look like a URI promptService.alert(window, "Error loading the feed", "The URL you specifed is invalid. Please verify the feed location.\n"); return false; } enable(false); feedService.getFeed(ioService.newURI(url, null, null), { onGetFeedComplete: function (feed) { var livemarkContext = feedService.getFeedContext("livemarks"); livemarkContext.getRoot().subscribeFeed(feed); var parent_ = faves_coop.get(gSelectedFolder.ValueUTF8) var coopFeed = faves_coop.get(feed.id()); coopFeed.name = name; parent_.children.add(coopFeed); window.close(); }, onError: function (error) { enable(true); promptService.alert(window, "Error loading the feed", "The location you specified could not be found or is not a feed. Please verify the feed location.\n"); } }); // var resource = BMSVC.createLivemarkInContainer(name, "", url, "", gSelectedFolder, -1); return false; // Don't dismiss the window yet, let that to the listener functions }